<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: Multi-Channel specific functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__tcpwm__functions__motif__mcp.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Multi-Channel specific functions<div class="ingroups"><a class="el" href="group__group__tcpwm.html">TCPWM        (Timer Counter PWM)</a> &raquo; <a class="el" href="group__group__tcpwm__motif.html">Motion Interface (TCPWM)</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga22e75498fed6ae10a959e8e3e7cee54d"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga22e75498fed6ae10a959e8e3e7cee54d">Cy_TCPWM_MOTIF_Set_MCP_Value</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, uint32_t mcp_value)</td></tr>
<tr class="memdesc:ga22e75498fed6ae10a959e8e3e7cee54d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets Multi channel pattern value.  <a href="#ga22e75498fed6ae10a959e8e3e7cee54d">More...</a><br /></td></tr>
<tr class="separator:ga22e75498fed6ae10a959e8e3e7cee54d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35f2f4108060e8168b6746a11ab0702f"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga35f2f4108060e8168b6746a11ab0702f">Cy_TCPWM_MOTIF_MCP_Value_When_Fault_Hall</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, uint32_t mcp_value)</td></tr>
<tr class="memdesc:ga35f2f4108060e8168b6746a11ab0702f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets MCP value when there is a fault HALL event.  <a href="#ga35f2f4108060e8168b6746a11ab0702f">More...</a><br /></td></tr>
<tr class="separator:ga35f2f4108060e8168b6746a11ab0702f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8801f576caac5b03645f863dbc5bcf0d"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga8801f576caac5b03645f863dbc5bcf0d">Cy_TCPWM_MOTIF_MCP_Bypass_Delay</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, bool bypass_delay)</td></tr>
<tr class="memdesc:ga8801f576caac5b03645f863dbc5bcf0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/Disable multi channel pattern delay bypass.  <a href="#ga8801f576caac5b03645f863dbc5bcf0d">More...</a><br /></td></tr>
<tr class="separator:ga8801f576caac5b03645f863dbc5bcf0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57c4c7641ca48a4e757dd107357631c9"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga57c4c7641ca48a4e757dd107357631c9">Cy_TCPWM_MOTIF_Update_Multi_Channel_Pattern</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base)</td></tr>
<tr class="memdesc:ga57c4c7641ca48a4e757dd107357631c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update multi channel pattern.  <a href="#ga57c4c7641ca48a4e757dd107357631c9">More...</a><br /></td></tr>
<tr class="separator:ga57c4c7641ca48a4e757dd107357631c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb687d7b3c605187354ba5d676f587bc"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#gabb687d7b3c605187354ba5d676f587bc">Cy_TCPWM_MOTIF_Clear_Multi_Channel_Pattern</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base)</td></tr>
<tr class="memdesc:gabb687d7b3c605187354ba5d676f587bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the Multi-Channel Pattern value with the content of the MCP Fault register.  <a href="#gabb687d7b3c605187354ba5d676f587bc">More...</a><br /></td></tr>
<tr class="separator:gabb687d7b3c605187354ba5d676f587bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae1aff1d6064b1b73afb5d79382d83e27"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#gae1aff1d6064b1b73afb5d79382d83e27">Cy_TCPWM_MOTIF_Clear_Updation_Of_Multi_Channel_Pattern</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base)</td></tr>
<tr class="memdesc:gae1aff1d6064b1b73afb5d79382d83e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears updating of multi channel pattern.  <a href="#gae1aff1d6064b1b73afb5d79382d83e27">More...</a><br /></td></tr>
<tr class="separator:gae1aff1d6064b1b73afb5d79382d83e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae283cb86bbe767e5bdb43e3fdccccff5"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#gae283cb86bbe767e5bdb43e3fdccccff5">Cy_TCPWM_MOTIF_Update_Multi_Channel_Pattern_Immediately</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base)</td></tr>
<tr class="memdesc:gae283cb86bbe767e5bdb43e3fdccccff5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update multi channel pattern immediately.  <a href="#gae283cb86bbe767e5bdb43e3fdccccff5">More...</a><br /></td></tr>
<tr class="separator:gae283cb86bbe767e5bdb43e3fdccccff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e5a594b392266313960eefe84117ab4"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga9e5a594b392266313960eefe84117ab4">Cy_TCPWM_MOTIF_Get_Multi_Channel_Pattern_Update_Status</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base)</td></tr>
<tr class="memdesc:ga9e5a594b392266313960eefe84117ab4"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the Multi Channel Pattern update status.  <a href="#ga9e5a594b392266313960eefe84117ab4">More...</a><br /></td></tr>
<tr class="separator:ga9e5a594b392266313960eefe84117ab4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga512d7ccd5d4fabdd41381ac3b788ccbc"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga512d7ccd5d4fabdd41381ac3b788ccbc">Cy_TCPWM_MOTIF_MCP_SW_Update_Enable</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, bool sw_update_enable)</td></tr>
<tr class="memdesc:ga512d7ccd5d4fabdd41381ac3b788ccbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects the source that enables an update of the Multi-Channel pattern.  <a href="#ga512d7ccd5d4fabdd41381ac3b788ccbc">More...</a><br /></td></tr>
<tr class="separator:ga512d7ccd5d4fabdd41381ac3b788ccbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d9e2ccb394650cc96d1a174a945ac9b"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga7d9e2ccb394650cc96d1a174a945ac9b">Cy_TCPWM_MOTIF_Multi_Channel_Output_Config</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, <a class="el" href="structcy__stc__multi__channel__output__config__t.html">cy_stc_multi_channel_output_config_t</a> *output_config)</td></tr>
<tr class="memdesc:ga7d9e2ccb394650cc96d1a174a945ac9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the output nodes for each of the Multi Channel Pattern output event.  <a href="#ga7d9e2ccb394650cc96d1a174a945ac9b">More...</a><br /></td></tr>
<tr class="separator:ga7d9e2ccb394650cc96d1a174a945ac9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2097a2a0fba5eacc8d27b25c3a5734e"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#gae2097a2a0fba5eacc8d27b25c3a5734e">Cy_TCPWM_MOTIF_MCP_Bypass_Synchronization</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, bool bypass_sync)</td></tr>
<tr class="memdesc:gae2097a2a0fba5eacc8d27b25c3a5734e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronization of the trigger with the PWM is bypassed if set.  <a href="#gae2097a2a0fba5eacc8d27b25c3a5734e">More...</a><br /></td></tr>
<tr class="separator:gae2097a2a0fba5eacc8d27b25c3a5734e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab6f8e99e3438cef392c877c8b6629e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#gaab6f8e99e3438cef392c877c8b6629e1">Cy_TCPWM_MOTIF_Update_MLUT</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, <a class="el" href="structcy__stc__tcpwm__motif__mlut__t.html">cy_stc_tcpwm_motif_mlut_t</a> *mlut_config)</td></tr>
<tr class="memdesc:gaab6f8e99e3438cef392c877c8b6629e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update look up table for multi channel pattern MLUT mode.  <a href="#gaab6f8e99e3438cef392c877c8b6629e1">More...</a><br /></td></tr>
<tr class="separator:gaab6f8e99e3438cef392c877c8b6629e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fe782a0d1c7aa82d07b0edad80a4692"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__tcpwm__enums.html#ga236beaba02c8a2a1c4eec981501e7270">cy_en_tcpwm_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga7fe782a0d1c7aa82d07b0edad80a4692">Cy_TCPWM_MOTIF_MCP_Init</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, <a class="el" href="structcy__stc__tcpwm__motif__mcp__config__t.html">cy_stc_tcpwm_motif_mcp_config_t</a> const *mcp_config)</td></tr>
<tr class="memdesc:ga7fe782a0d1c7aa82d07b0edad80a4692"><td class="mdescLeft">&#160;</td><td class="mdescRight">MOTIF module initialization in Multi Channel Pattern Mode.  <a href="#ga7fe782a0d1c7aa82d07b0edad80a4692">More...</a><br /></td></tr>
<tr class="separator:ga7fe782a0d1c7aa82d07b0edad80a4692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c58f2805a76f4f1b20e8f9b30e933bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__tcpwm__enums.html#ga236beaba02c8a2a1c4eec981501e7270">cy_en_tcpwm_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__tcpwm__functions__motif__mcp.html#ga0c58f2805a76f4f1b20e8f9b30e933bd">Cy_TCPWM_MOTIF_MCP_Quaddec_Init</a> (TCPWM_MOTIF_GRP_MOTIF_Type *base, <a class="el" href="structcy__stc__tcpwm__motif__mcp__quaddec__config__t.html">cy_stc_tcpwm_motif_mcp_quaddec_config_t</a> const *mcp_quad_config)</td></tr>
<tr class="memdesc:ga0c58f2805a76f4f1b20e8f9b30e933bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">MOTIF module initialization in Quadrature Decoder Mode and Multi Channel Pattern mode.  <a href="#ga0c58f2805a76f4f1b20e8f9b30e933bd">More...</a><br /></td></tr>
<tr class="separator:ga0c58f2805a76f4f1b20e8f9b30e933bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga22e75498fed6ae10a959e8e3e7cee54d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga22e75498fed6ae10a959e8e3e7cee54d">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Set_MCP_Value()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_Set_MCP_Value </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mcp_value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets Multi channel pattern value. </p>
<p>Every time a multi channel pattern transfer is triggered, this value is transferred. This is applicable when multi channel look up table mode is disabled.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">mcp_value</td><td>Multi Channel Pattern Value </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga35f2f4108060e8168b6746a11ab0702f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga35f2f4108060e8168b6746a11ab0702f">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_MCP_Value_When_Fault_Hall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_MCP_Value_When_Fault_Hall </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mcp_value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets MCP value when there is a fault HALL event. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">mcp_value</td><td>Multi channel pattern value to be configured when there is a fault HALL event.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>It is possible also to use the Hall Fault Event to clear/load the Multi-Channel Pattern with a pre-configured value - MCPF.MCFV. This mechanism can be used whenever a wrong operation is detected and a specific safe pattern needs to be applied to the PWM timers that are controlling the output switches. </dd></dl>

</div>
</div>
<a id="ga8801f576caac5b03645f863dbc5bcf0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8801f576caac5b03645f863dbc5bcf0d">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_MCP_Bypass_Delay()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_MCP_Bypass_Delay </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bypass_delay</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable/Disable multi channel pattern delay bypass. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">bypass_delay</td><td>Bypass Delay.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>After the Correct Hall Event is detected, a delay can be generated between this detection and the update of the Multi-Channel pattern. The delay for the update of the Multi-Channel pattern can be controlled directly by a TCPWM counter. The trigger that indicates that the delay is finished, is mapped to input MOTIFx.MSET (input for MCP trigger) This delay can be by passed by passing true to this function </dd></dl>

</div>
</div>
<a id="ga57c4c7641ca48a4e757dd107357631c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga57c4c7641ca48a4e757dd107357631c9">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Update_Multi_Channel_Pattern()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_Update_Multi_Channel_Pattern </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update multi channel pattern. </p>
<p>The update is not done immediately due to the fact that the trigger that synchronizes the update with the PWM is still needed</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Calling this function enables the Multi-Channel pattern update. The update is not done immediately due to the fact that the trigger that synchronizes the update with the PWM is still needed. The input MOTIFx.MSYNC is used for synchronization. </dd></dl>

</div>
</div>
<a id="gabb687d7b3c605187354ba5d676f587bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb687d7b3c605187354ba5d676f587bc">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Clear_Multi_Channel_Pattern()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_Clear_Multi_Channel_Pattern </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the Multi-Channel Pattern value with the content of the MCP Fault register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gae1aff1d6064b1b73afb5d79382d83e27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae1aff1d6064b1b73afb5d79382d83e27">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Clear_Updation_Of_Multi_Channel_Pattern()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_Clear_Updation_Of_Multi_Channel_Pattern </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears updating of multi channel pattern. </p>
<p>Sets that Multi channel pattern is not ready to be updated.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gae283cb86bbe767e5bdb43e3fdccccff5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae283cb86bbe767e5bdb43e3fdccccff5">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Update_Multi_Channel_Pattern_Immediately()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_Update_Multi_Channel_Pattern_Immediately </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update multi channel pattern immediately. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Calling this function enables the Multi-Channel pattern update immediately. The update is done immediately with out waiting for the trigger that synchronizes the update with the PWM. </dd></dl>

</div>
</div>
<a id="ga9e5a594b392266313960eefe84117ab4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9e5a594b392266313960eefe84117ab4">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Get_Multi_Channel_Pattern_Update_Status()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE bool Cy_TCPWM_MOTIF_Get_Multi_Channel_Pattern_Update_Status </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>returns the Multi Channel Pattern update status. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>indicates if the Multi-Channel pattern is ready to be updated or not. 1: MCP is ready and 0: MCP is not ready. </dd></dl>

</div>
</div>
<a id="ga512d7ccd5d4fabdd41381ac3b788ccbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga512d7ccd5d4fabdd41381ac3b788ccbc">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_MCP_SW_Update_Enable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_MCP_SW_Update_Enable </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>sw_update_enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Selects the source that enables an update of the Multi-Channel pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">sw_update_enable</td><td>When set to true, the Multi-Channel pattern can only be updated after the SW has called the function Cy_TCPWM_MOTIF_Update_Multi_Channel_Pattern. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga7d9e2ccb394650cc96d1a174a945ac9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7d9e2ccb394650cc96d1a174a945ac9b">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Multi_Channel_Output_Config()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_Multi_Channel_Output_Config </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__multi__channel__output__config__t.html">cy_stc_multi_channel_output_config_t</a> *&#160;</td>
          <td class="paramname"><em>output_config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the output nodes for each of the Multi Channel Pattern output event. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">output_config</td><td>Output configuration. <a class="el" href="structcy__stc__multi__channel__output__config__t.html">cy_stc_multi_channel_output_config_t</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gae2097a2a0fba5eacc8d27b25c3a5734e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae2097a2a0fba5eacc8d27b25c3a5734e">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_MCP_Bypass_Synchronization()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_TCPWM_MOTIF_MCP_Bypass_Synchronization </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>bypass_sync</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Synchronization of the trigger with the PWM is bypassed if set. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">bypass_sync</td><td>Synchronization bypass configuration. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaab6f8e99e3438cef392c877c8b6629e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaab6f8e99e3438cef392c877c8b6629e1">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_Update_MLUT()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_TCPWM_MOTIF_Update_MLUT </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__tcpwm__motif__mlut__t.html">cy_stc_tcpwm_motif_mlut_t</a> *&#160;</td>
          <td class="paramname"><em>mlut_config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Update look up table for multi channel pattern MLUT mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">mlut_config</td><td>Multi Channel Pattern Look UP Table values. <a class="el" href="structcy__stc__tcpwm__motif__mlut__t.html">cy_stc_tcpwm_motif_mlut_t</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Update look up table for multi channel pattern MLUT User writes HLUT and MLUT when MOTIF is stopped. Writing into both LUT while MOTIF is started might lead to incorrect behavior. The LUT is loaded with forward or reverse pattern depending on motor desired direction. The pattern is stored in LUT independently from motor position. The hardware is responsible to find out the current motor position and to load the right hall and modulation pattern. HLUT and MLUT share the same hardware pointer for data extraction, therefore user needs to take care of keeping them aligned with respect to LUT address. A wrong programming might lead to incorrect behavior. </dd></dl>

</div>
</div>
<a id="ga7fe782a0d1c7aa82d07b0edad80a4692"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7fe782a0d1c7aa82d07b0edad80a4692">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_MCP_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__tcpwm__enums.html#ga236beaba02c8a2a1c4eec981501e7270">cy_en_tcpwm_status_t</a> Cy_TCPWM_MOTIF_MCP_Init </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__tcpwm__motif__mcp__config__t.html">cy_stc_tcpwm_motif_mcp_config_t</a> const *&#160;</td>
          <td class="paramname"><em>mcp_config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>MOTIF module initialization in Multi Channel Pattern Mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">mcp_config</td><td>Multi Channel Pattern configuration <a class="el" href="structcy__stc__tcpwm__motif__mcp__config__t.html">cy_stc_tcpwm_motif_mcp_config_t</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the status of the operation. </dd></dl>

</div>
</div>
<a id="ga0c58f2805a76f4f1b20e8f9b30e933bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c58f2805a76f4f1b20e8f9b30e933bd">&#9670;&nbsp;</a></span>Cy_TCPWM_MOTIF_MCP_Quaddec_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__tcpwm__enums.html#ga236beaba02c8a2a1c4eec981501e7270">cy_en_tcpwm_status_t</a> Cy_TCPWM_MOTIF_MCP_Quaddec_Init </td>
          <td>(</td>
          <td class="paramtype">TCPWM_MOTIF_GRP_MOTIF_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__tcpwm__motif__mcp__quaddec__config__t.html">cy_stc_tcpwm_motif_mcp_quaddec_config_t</a> const *&#160;</td>
          <td class="paramname"><em>mcp_quad_config</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>MOTIF module initialization in Quadrature Decoder Mode and Multi Channel Pattern mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the TCPWM_MOTIF instance address.</td></tr>
    <tr><td class="paramname">mcp_quad_config</td><td>MCP and Quad configuration <a class="el" href="structcy__stc__tcpwm__motif__mcp__quaddec__config__t.html">cy_stc_tcpwm_motif_mcp_quaddec_config_t</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the status of the operation. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
